查看原文
其他

【环球IT】基于媒体认知课程的人工智能人才培养方法探索

杨毅 颜历 等 计算机教育 2019-04-26

1 背 景

随着电子信息技术日新月异,电子信息教学领域也面临着全新的挑战,需要培养具有全方位视野和超强能力的新一代工程师及领导者。

媒体与认知是清华大学电子信息学科在课程体系改革过程中提出的一门重要的必修课程。结合清华大学电子工程系在该领域研究的基础、优势和创新性成果,我们有针对性地将已有科研成果转化为教学内容,建设了一套全新的涵盖人机感知交互、媒体信息处理、虚拟现实及信号处理领域的前沿教学平台,并采用集体创新培养和个人研究探索相结合的方式,最终达到理工与人文、技术与艺术、感知与思考的高度融合,使学生成为具有国际一流水平的、兼具科研创新能力和未来探索精神的领军型人才。

通过参考国内外诸多科研院所及名企与智能感知技术相关的项目内容,结合本系在该领域研究的基础优势和创新性成果,本课程建设了多种基于人工智能技术的项目。经由对该项目的学习和研究研发,学生能够获得智能感知技术的基础理论知识和开发能力,力争成为具有国际领先水平的智能感知技术专业人才[1-2]


2 基于Realsense的微信表情输入项目

英特尔的RealSense设备[3]是一种能通过采集视觉、深度、音频等多种媒体信息获得手势、语音等表征意图的智能感知设备,可以广泛应用于自然互动、沉浸式协作与创作等创新应用,能够帮助开发人员在游戏、娱乐和内容创建交互方面实现新的突破。

2.1 系统框架

基于Realsense的微信表情输入项目通过Realsense体感摄像头采集输入视频,调用SDK中的C++接口,实现在Windows电脑版微信中根据人面部表情自动识别并输入如图1所示的6种表情的功能。

系统框架如图2所示。

首先,通过Realsense摄像头采集输入视频;然后调用Realsense SDK识别出14种低层次的面部表情特征,如微笑、张嘴、闭眼、伸舌头、扬眉毛、嘟嘴等。

其次,基于表情初级特征建立与微信表情的映射关系并引入开关和锁变量,避免表情的重复识别和误识别。

最后,通过控制键盘的方式与微信连接,实现在Windows 电脑版微信中根据人面部表情自动识别并输入表情的功能。

2.2 主要模块及属性定义

本项目主要使用Realsense算法模块中的面部跟踪和识别模块(face tracking and recognition)。该模块提供人脸检测、78个面部关键点的检测和定位、14种初级表情属性的识别以及人脸跟踪、人脸识别等功能,可以同时检测和跟踪4张人脸。项目主要使用SDK的表情识别部分,该部分可以对14种表情属性给出0~100的置信度打分。14种初级表情属性定义见表1。根据实测的14种属性的灵敏度和误报情况,确立合适的阈值和表情映射关系。

在表情识别中,为了避免对同一个表情的重复识别,或在不需要识别的时候发生误识别,产生错误判断,可进行如下两种处理:

(1)加入开关功能。按下键盘上的“向右”方向键,开启表情识别功能;再次按下该键,停止表情识别。

(2)引入锁变量。引入整型变量expression_LOCK记录上一帧识别的表情编号(0:未识别到有效表情;1~6:对应6种微信表情);只有当前帧识别到的表情与expression_LOCK不同时,才产生有效输出,相同时不产生重复输出。

基于这两种方法,重复识别的问题可以避免;当开关持续打开时,表情变化过程中的误识别无法完全避免,但也有效减少。

2.3 接口调用及系统输出

在调用微信接口时,主要通过C++头文件<Windows.h>中的keybd_event()函数控制键盘,在微信中输入对应表情的英文名称,再输入回车键,即可发送出对应的表情。具体实现时,整体框架使用样例DF_FaceTracking,在源文件“FaceTrackingRenderer2D.cpp”中加入void keybord(int Expre-ss[])函数完成表情映射、逻辑判断和微信键盘输入的功能;并在FaceTrackingRenderer2D类的DrawExpressions函数中调用keybord函数,实现整个框架的功能。最终实现的结果如图3所示。测试表明,该系统对特定用户的6种人脸表情识别正确率超过90%以上。


3 基于深度学习的人脸表情识别项目

人脸识别[4]是当前最活跃的人工智能领域应用之一。传统的表情识别方法主要有活动外观模型(active appearance model,AAM)、Gabor小波变换[5-6]等。这些方法的共同点就是使用一组人工设计的特征,在一定程度上损失了原有的特征信息,或者假设属性之间相互独立,往往与实际应用环境下不相符合。深度学习算法舍弃了依靠人工精心设计的显示特征提取方法,通过逐层构建一个多层的深度神经网络,让机器自主地从样本数据中学习到表征这些样本的更加本质的特征,从而使得学习到的特征更具有推广性和表征能力。

3.1 卷积神经网络

近年来,卷积神经网络[7](convolutional neural network, CNN)利用局部感受野的原理,在ImageNet大规模视觉识别挑战赛(ImageNet large scale visual recognition challenge, ILSVRC)中大大提升了人脸表情识别准确率,连续刷新了图像分类和目标定位任务的识别率记录。

本项目构建并训练了一个含有3层卷积结构的卷积神经网络,通过取消每个卷积层中的偏置项增快训练速度。软硬件环境为modern Linux OS,256GB memory,32 cores CPU,1 NVIDIA TITAN X (Pascal),Caffe & Keras Deep Learning Framework。

3.2 系统主要模块

首先使用开源的caffe框架[8]实现的 MTCNN完成对原始图片的alignment任务。该网络是一个三阶级联的网络,流程图如图4所示,随后使用Data Augmentation方法扩充训练数据量,从而提升模型精度;对每张图片随机采取平移、缩放、旋转、剪切等操作,每一张图片都随机生成3张新的图片。

本项目的CNN网络总共含有3个卷积层,每个卷积层分别有64、128、256个5*5的filters,所有的激活函数均采用ReLU。每个卷积层都放弃偏置项,这能够加快网络的训练。每个卷积层后面都有一个max pooling层,pool核的大小为2*2;之后又连接了一层含有300个神经元的全连接层,最后有一层长度为8的softmax层用于分类,输入格式为96*96*1的灰度图像矩阵。

本项目使用的损失函数是cross-entropy loss,所用的优化器是随机梯度下降(SGD),初始学习率设为0.5,并采用annealing方法在训练过程中调整学习率,这会使loss更稳定地收敛。weight decay参数为1e-5, momentum参数为0.9。在全连接层前面还使用了概率为0.5的dropout,可以防止过拟合。训练过程采用批训练,batch-size为64,一共训练20个epoch。

3.3 系统性能及分析

在训练过程中,随机选取10%的图片作为验证集。随着epoch的增加, loss收敛到0.3左右,训练和交叉验证准确率变化如图5所示,模型最终在验证集上的准确率为81.4%。

分析发现此模型对happy和neutral的识别能力最好,对于sad、surprise和angry识别效果最差;模型倾向于将angry当成disgust,把sadness和surprise当成fear,把fear当成sadness。最终此模型的测试结果为公开训练集的准确率88.47%,自采训练集的准确率65.83%。


4 结 语

本文主要介绍了媒体与认知课程的自主研发项目“基于Realsense的微信表情输入项目”和“基于深度学习的人脸表情识别项目”,实现了用人脸表情输入微信表情及用卷积神经网络完成人脸表情识别两个完整的开发平台。下一步,我们将在这些项目平台中引入其他更先进的算法和数据,进行更加深入的研究探索。


基金项目:英特尔—清华媒体与认知实验教学项目(202023011)。

第一作者简介:杨毅,女,副教授,研究方向为数字信号处理, yangyy@mail.tsinghua.edu.cn。



参考文献:

[1] 清华大学电子工程系. 院系简介[EB/OL]. [2018-03-01]. http://www.ee.tsinghua.edu.cn/publish/ee/3684/index.html.

[2] 杨毅, 徐淑正, 乔飞, 等. 媒体认知实验教学改革研究与探索[J]. 计算机教育, 2015 (9): 107-109.

[3] Intel Corporation. Intel® RealSense™ Technology [EB/OL]. [2018-03-01]. http://www.intel.com/content/www/us/en/architecture-and-technology/realsense-overview.html.

[4] Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Washington D C: IEEE, 2015: 1-9.

[5] COOTES T F, EDWARDS G J, TAYLOR C J. Active appearance models[J]. IEEE Transaction Pattern Analysis and Machine Intelligence, 2001, 23(6): 681-685.

[6] GU W, XIANG C, Venkatesh Y V, et al. Facial expression recognition using radial encoding of local Gabor features and classifier synthesis[J]. Pattern Recognition, 2012, 45(1): 80-91.

[7] Deng J. A large-scale hierarchical image database[C]// 2009 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR).Washington D C: IEEE, 2009: 1-8.

[8] Jia Y Q. Caffe: Deep learning framework by BAIR[EB/OL]. [2018-03-01]. http://caffe.berkeleyvision.org/.


更多精彩:

关于召开2018年全国高校计算机教育大会的通知(安徽合肥召开)

基于89万互联网岗位招聘数据统计发现……

我从过去八个月的AI公司面试中学到了什么?

新工科背景下软件工程人才培养的研究与实践

【言十系列】论新工科建设及计算机与软件工程学科的作用

终于有人把云计算、大数据和人工智能讲明白了!

图灵奖得主Raj Reddy:以历史的视角重新审视“人工智能”

人工智能知识体系大全

干货!清华大学孙富春教授回答你对人工智能的所有疑问!

【目录】《计算机教育》 2018年第6期

儿童节快乐!计算机教育要从娃娃抓起!!!

程序员吃的是青春饭?本质上取决于......

互联网 TOP100 企业人才招聘报告

【思维碰撞】把握新时代计算机教育科学研究新机遇

【目录】《计算机教育》 2018年第5期

最新!学位授予和人才培养学科目录来了

信息化条件下高校实验室拓展建设的思考与实践

美国21世纪CPS教育报告的专业课程规划及启示

澳门大学校长赵伟教授:计算机科学的未来和素质教育的发展

【目录】《计算机教育》 2018年第4期

给大学生程序员的一点建议

计算机行业还能火几年?

【思维碰撞】计算机教育的科学研究(上)

美国21世纪CPS教育报告的课程结构设计及启示

新工科背景下物联网专业学生创新实践能力培养

【目录】《计算机教育》2018年第3期

新工科建设形势下的计算机类专业人才培养方案

干货:教学论文福利哪里寻?精选40多张计算机教学模式图(快收藏)!

未来的所有新兴工作都需要软件工程师,《2017年美国新兴职业报告》这么分析!

【目录】《计算机教育》 2018年第2期

计算机科学领域2017年度研究热点排行,最热的领域居然是这个!

清华大学杨士强教授:从实验教学到实践教育

美国21世纪CPS教育报告简介

奚春雁主编:计算机教育的春天

【目录】《计算机教育》2018年第1期

喜讯:《计算机教育》跃居《中国学术期刊影响因子年报(人文社会科学)2017版》Q1区!

《计算机教育》荣获“2017中国最具国际影响力学术期刊”

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存